package cn.fuxi2022.model.empty.applets;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 社员详细信息表
 *
 * @TableName group_student_info
 */
@TableName(value = "group_student_info")
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class GroupStudentInfo implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 社团学生ID
     */
    @TableField("student_id")
    private String studentId;

    /**
     * 姓名
     */
    @TableField("real_name")
    private String realName;

    /**
     * 学号
     */
    @TableField("student_number")
    private String studentNumber;

    /**
     * 性别 1 女，2 男，0未知
     */
    private Integer sex;

    /**
     * 学院（0其他 1信息技术学院 2电气与电子工程学院 3艺术系 4体育系 5经济管理学院 6建设学院 7外国语学院 8智能制造学院 9会计学院）
     */
    private Integer college;

    /**
     * 班级
     */
    @TableField("class")
    private String className;

    /**
     * 宿舍
     */
    private String dorm;

    /**
     * 学习程度（0未确定 1小白 2菜鸟 3老鸟）
     */
    private Integer degree;

    /**
     * 学习方向（0未确定 1嵌入式 2前端 3后端）
     */
    private Integer direction;

    /**
     * 学生积分
     */
    private Integer point;

    /**
     * 入社程序（0信息未录入 1未支付社费 2未加群 3完成）
     */
    @TableField("is_student")
    private Integer isStudent;

    /**
     * 是否禁用 1（true）已禁用，  0（false）未禁用
     */
    @TableField("is_disabled")
    private Integer isDisabled;

    /**
     * 逻辑删除 1（true）已删除， 0（false）未删除
     */
    @JsonIgnore
    @TableLogic(value = "0", delval = "1")
    @TableField("is_deleted")
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @JsonIgnore
    @TableField(value = "gmt_create", fill = FieldFill.INSERT)
    private Date gmtCreate;

    /**
     * 更新时间
     */
    @JsonIgnore
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;

    @JsonIgnore
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}